using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// 创建一个菜单项，用于在Unity编辑器中创建这个效果的实例
[CreateAssetMenu(fileName = "Heal effect", menuName = "Data/Item effect/Heal effect")]
public class Heal_Effect : ItemEffect
{
    // 设置一个范围在0到1之间的浮点数，用于表示治疗百分比
    [Range(0f, 1f)]
    [SerializeField] private float healPercent;

    // 重写基类的ExecuteEffect方法
    public override void ExecuteEffect(Transform _enemyPosition)
    {
        // 获取玩家的属性
        PlayerStats playerStats = PlayerManager.instance.player.GetComponent<PlayerStats>();
        
        // 如果玩家的当前生命值等于最大生命值，输出提示信息并返回
        if(playerStats.currentHealth == playerStats.GetMaxHealthValue()){
            Debug.Log("满血了！"); return;
        }
        
        // 计算治疗量
        int healAmount = Mathf.RoundToInt(playerStats.GetMaxHealthValue() * healPercent);

        // 增加玩家的生命值
        playerStats.IncreaseHealthBy(healAmount);
    }
}